package smlab.view.ui.dragAndDrop
{
	import flash.display.Bitmap;
	import flash.display.DisplayObject;
	import flash.display.DisplayObjectContainer;
	import flash.display.Sprite;
	import flash.geom.Point;

	/**
	 * 可拖动粘附的显示对象功能接口
	 * @author simon
	 * 
	 */
	public interface IDragAndDrop
	{
		function get skin():DisplayObject;
		function set skin(d:DisplayObject):void;
		
		function set oldPoint(p:Point):void;
		function get oldPoint():Point;
		
		function get skinBMP():Bitmap;
		
		function get copySkinType():uint;
		function set copySkinType(b:uint):void;
		
		function drop(ui:DisplayObject,data:Object):void;//被释放且被接收
		
		function rebound():void;//被释放且没有被接收，弹回原来的地方
		
		function set parentContainer(d:DisplayObjectContainer):void;//原本的父级容器（被鼠标拖拽前的父级容器）
		function get parentContainer():DisplayObjectContainer;
		
		function get isLock():Boolean;
		function set isLock(b:Boolean):void;
		
		function get isDraging():Boolean;//是否正在被拖动
		function set isDraging(b:Boolean):void;
		
		function get data():Object;
		function set data(obj:Object):void;
		
		function get skinContainer():DisplayObjectContainer;//皮肤的容器
		
		function get itemID():uint;
		function set itemID(type:uint):void;
		
		function get dragType():uint;
		function set dragType(type:uint):void;
	}
}